package com.todo.delicacy.application.service;

import com.todo.common.common.entity.response.page.PageResult;
import com.todo.delicacy.application.entity.bo.FoodInfoBO;
import com.todo.delicacy.application.entity.condition.FoodInfoConditionBO;

import java.util.List;

/**
 * (FoodInfo)表服务接口
 *
 * @author zhangwenxiang
 * @since 2024-03-04 00:19:46
 */
public interface FoodInfoService {

    /**
     * 新增食物信息
     *
     * @param foodInfoBO
     * @return
     */
    Boolean insertFoodInfo(FoodInfoBO foodInfoBO);

    /**
     * 更新食物信息
     *
     * @param foodInfoBO
     * @return
     */
    Boolean updateFoodInfo(FoodInfoBO foodInfoBO);

    /**
     * 根据主键id删除食物信息
     *
     * @param id
     * @return
     */
    Boolean removeFoodInfoById(Long id);

    /**
     * 根据饭店信息删除食物列表
     *
     * @param restaurantId
     * @return
     */
    Boolean removeFoodInfoByRestaurantId(Long restaurantId);

    /**
     * 根据主键查询食物详情
     *
     * @param id
     * @return
     */
    FoodInfoBO queryFoodInfoById(Long id);

    /**
     * 根据饭店查询食物列表
     *
     * @param restaurantId
     * @return
     */
    List<FoodInfoBO> queryFoodInfoListByRestaurantId(Long restaurantId);

    /**
     * 多条件查询食物列表
     *
     * @param conditionBO
     * @return
     */
    PageResult<FoodInfoBO> queryFoodInfoByCondition(FoodInfoConditionBO conditionBO);

    /**
     * 根据城市和名称查询美食列表
     *
     * @param foodName
     * @return
     */
    List<FoodInfoBO> queryFoodInfoListByName(String foodName, Long restaurantId);
}
